import type { Profile } from '@/types/user'
import { getLocalToken, removeLocalToken, setLocalToken } from '@/utils/auth'
import { defineStore } from 'pinia'
import { ref } from 'vue'

export const useUserStore = defineStore('hm-user', () => {

  // token 信息
  const token = ref(getLocalToken() || '')
  // 个人信息
  const profile = ref<Profile>({} as Profile)
  const setProfile = (val: Profile) => {
    profile.value = val
  }
  // 登录成功，保存token
  const setToken = (val:string) => {
    token.value = val
    // 持久化存储
    setLocalToken(val)
  }

  // 退出登录，删除token
  const clearToken = () => {
    token.value = ''
    // 删除持久化
    removeLocalToken()  
  }

  // 记得返回
  return {
    token,
    setToken,
    clearToken,
    profile,
    setProfile
  }
})
